1. Field of the Invention
The present invention generally relates to the delaying of transmission of delay sensitive packets to improve the efficiency communication links over which such packets are transmitted.
2. Description of the Related Art
Due to an increase in information traffic in communication networks, many communication networks are evolving into packet-based networks in which packets are conveyed throughout the network based on various protocols. A protocol is a set of rules that dictates how communication is initiated, maintained and terminated between subscribers of the communication network. A packet is typically a block of information (e.g., block of bits) comprising header, payload and trailer portions. The header and trailer portions comprise signaling information, i.e., information that assists the network in forming, transmitting, receiving and rearranging of the packets. The payload is the actual information (i.e., subscriber information) being conveyed over the communication network from a point of origin to a destination point. A communication packet is routed based on signaling information contained in its header and trailer portions and the varying conditions in the network; there is not necessarily a dedicated route or channel for any packet or group of packets.
Older networks such as telephony networks are circuit based networks in which each particular communication channel is established and dedicated for communication between two or more points in a network. Circuit based networks, such as the Public Switched Telephone Network (PSTN), were traditionally used for voice communications, but such networks are now being converted to a packet based architecture. The packet based architecture allows different types of signals to traverse the links of a communication network. Due to the bursty nature of information packets, a packet-based architecture allows for more multiplexing which equates to higher efficiency of network resources.
One type of information that is exchanged between subscribers of a communication network is delay-sensitive information (DSI). Delay sensitive information is information in which there exists a strict timing relationship between consecutive packets and that any alteration in the timing of the packets causes distortion to occur when such packets are received at their destination. DSI also requires that the end-to-end delay is kept constant or is kept within certain defined bounds. End-to-end delay is the amount of time it takes a packet to traverse a network from an original point to a destination point. An example of DSI are packets representing voice signals. At the destination points, the voice packets should be received at a particular time such that they can be buffered to remove any added time gaps between any two consecutive packets of information. Any added time gap in the reception of DSI, such as voice packets, causes distortion to occur. The goal is for packets to be received at their destination points with their strict timing relationship maintained. In the case of voice packets, any additional time gaps may cause the resulting voice to become unintelligible to a listener. Another example of DSI is a stream of packets representing a video signal whereby any added time gaps in the reception of the stream of packets may cause the video signal to become distorted to a viewer.
Service providers, which are entities that own and control the communication equipment of the network, need to ensure the quality of service (QoS) for DSI. The QoS of a network depends on several network variables that affect, inter alia, the flow of packets in the network. To ensure an acceptable QoS, some of the network variables such as end-to-end delay, jitter and packet loss must be kept as low as possible. Jitter is the inconsistent latencies experienced by different packets propagating in a network. Packet loss is the number of packets that is irretrievably contaminated—for a defined period of time—due to errors in the header or payload, or due to buffer overflow or due to late arriving packets.
The bandwidths of the communication links of a packet based network are usually sufficient to allow such links to convey both DSI and non-delay sensitive information (NDSI) while maintaining an acceptable QoS for both types of information. The bandwidth of a link is related to the information rate of the link, i.e., the amount of information per unit time (usually measured in bits per second or bps) that can be exchanged through such link at any instant. When DSI has to be transmitted, it cannot be interrupted by other information. Many conflicts occur where a DSI packet has to be transmitted while an NDSI packet is being transmitted. In such cases, the NDSI transmission may be interrupted in favor of the DSI packet. The DSI packet is transmitted and the interrupted NDSI packet is subsequently retransmitted. As more conflicts occur, the number of retransmissions increases which tends to reduce the throughput or efficiency of the communication link over which the DSI and NDSI packets are being transmitted.
Internet Protocol (IP) networks, i.e., packet based networks based on the well known Internet Protocol have transmission media and network elements which operate at relatively high information rates. The network element typically found in an IP network is a router. A router is an interface between networks of an overall network such as the Internet. Routers are capable of exchanging relatively large amounts of information per unit time. Therefore, a common approach to satisfying the need for acceptable QoS for both DSI and NDSI is to over design a network making sure that the bandwidth of its links and routers is more than enough to handle both DSI and NDSI. In essence, the network will be operating at a utilization rate that is significantly lower for which it was designed.
A packet based communication or any communication network should ultimately be connected to its subscribers. The subscribers are connected to the communication network via access networks. The access networks are various types of communication equipment that interface subscribers to the communication network. The access network is connected to the packet based communication network through a network communication link. The access network is also connected to one or more subscribers via at least a second communication link, i.e, an access link. The bandwidth of the access links is typically much smaller than that of the network communication links. However, the service providers still want to provide the same type of QoS for the access links as for the links in the core of the packet based network. It is not economically feasible to simply increase the bandwidth of the access links because of the costs associated with replacing equipment and transmission media.
Another approach at ensuring acceptable QoS for DSI and NDSI is to apply priority queuing algorithms to the packets of information. Priority queuing is an algorithm whereby each packet arriving at the access network and destined for a subscriber connected to the access network is placed in a queue based on the type of information contained in the packet and the amount of information that is associated with the packet. The problem with queuing is that queuing by itself is insufficient. Additional techniques are usually needed to better manage the flow of packets into a queue or buffer.
Yet another approach at ensuring acceptable QoS for DSI and NDSI for access links (or relatively small bandwidth links) is to apply a fragmentation algorithm to the NDSI packets arriving at the access network. Fragmentation is the repackaging of the packets such that the length of each packet is changed. The packets are transmitted over the communication links of a packet based network in accordance with the well known Internet Protocol (IP) which is a layer 3 protocol. A layer 3 protocol is part of a hierarchy of protocols that are based on the Open System Interconnection (OSI) communications environment model developed by the International Standards Organization (ISO). The layer 3 protocol dictates which physical pathways (i.e., the routing) the packets should take based on network conditions (e.g., network congestion) and other factors such as network variables.
Traditionally, fragmentation is implemented with the use of a layer 2 protocol. The layer 2 protocol, which is also based on the OSI model, dictates how basic units of information (e.g., bits) are arranged to form basic blocks of information (e.g., packets), confirms that such blocks of information are properly placed in the proper communication channels and also confirms that these blocks of information arrive at their destination points without any errors. IP is said to be transported over a layer 2 protocol when any reformatting or repackaging of the blocks of information is done in accordance with the layer 2 protocol. Typically, the fragmentation algorithm repackages the NDSI packets into smaller packets to avoid conflicts with arriving DSI packets. NDSI packets can be interrupted during their transmission to accommodate for arriving DSI packets that have to be transmitted in accordance with strict timing requirements. An NDSI packet is simply retransmitted after its transmission was interrupted by an arriving DSI packet that had to be transmitted within a certain time period. The interruption and subsequent retransmission of NDSI caused by arriving DSI packets reduces the throughput of a communication link because less information is successfully conveyed over that link for a defined period of time. Thus, in a fragmentation algorithm an NDSI packet is fragmented into smaller sized packets in an attempt at reducing the number of conflicts between DSI and NDSI packets. The smaller size packets presumably can be transmitted with a relatively high likelihood that their transmission will not be interrupted by the need to transmit an arriving DSI packet.
One problem with the fragmentation algorithm is that many times the fragmentation is done in discord with varying network conditions. For example, NDSI packets can be fragmented to a certain size which may reduce the number of conflicts with DSI packets. However, that particular fragmentation size may not be appropriate at some later time because the network conditions (e.g., an increase in the number of DSI packets) have changed requiring that the NDSI packets be fragmented to a different size to maintain the reduced amount of conflicts. Another problem with fragmentation of IP packets transported over a layer 2 protocol is that, depending on the layer 2 protocol, much overhead is needed to implement the actual fragmentation. Additional information must be placed in the header and/or trailer of the packets such that the packets can be rearranged in their proper order when they arrive at their destination. The additional information added to the packets reduces the amount of information that can be stored in the packet payloads and thus reduces the throughput of the communication network. Also, because fragmenting of NDSI packets is done in accordance with layer 2 protocols, the level of fragmentation is limited to the processing of basic blocks of information defined by such protocols. Thus with layer 2 fragmentation, more finely tuned fragmentation cannot be achieved; this is another source of throughput reduction. For access links, the resulting throughput reduction is particularly damaging due to the already limited bandwidth of these links.
Yet another problem with fragmentation is that it does not take into account the conflicts that occur between arriving DSI packets. A DSI packet can arrive while another DSI packet is being transmitted. Both packets are time sensitive and should be transmitted in accordance with their timing requirements. There may be circumstances where a conflict between two DSI packets cannot be avoided resulting in distortion or error at the destination of the packets.
What is therefore needed is a method and apparatus for reducing the number of conflicts that occur when NDSI and DSI are transmitted over a communication links of relatively small bandwidth.